package com.monster.dao;

import com.monster.pojo.Album;
import com.monster.pojo.Singer;
import com.monster.pojo.Song;

import java.util.ArrayList;
import java.util.List;

public interface AlbumDao {
    //分页查询，每行20，按时间排序

    /**
     * 查询全部专辑
     * @param page
     * @return album集合
     * @author lym
     */
    ArrayList<Album> getAllAlbums (int page);
    ArrayList<Long> findSongIdbyalbumId(Long id );//根据专辑id拿到歌曲id的集合
    Album findSongsbyAlbumId(Long id);//根据专辑id查询专辑

    /**
     * 根据筛选组合查询
     * @param language
     * @param genre
     * @param page
     * @param orderType
     * @return ArrayList<Album>
     */
    ArrayList<Album> findAlbumbyAlbumLanguageGenre(String language,String genre , String orderType,int page);//根据专辑语言流派拿到专辑集合
    ArrayList<Album> findAlbumbyAlbumname(String name);//模糊查询专辑名
    int findSongCountByAlbumId(Long albumId);// 根据专辑Id查询曲目数
    ArrayList<Singer> findSingersByAlbumId(Long albumId);// 根据专辑id查询歌手信息
    ArrayList<Album> findAlbumbyAlbumGenre(String genre , int page);//根据专辑流派拿到专辑集合

    /**
     * 通过专辑ID拿到专辑歌曲集合
     */
    public List<Song> selectSongByAlbumId(Long albumId);

}
